home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / pretty28.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  48.5 KB  |  1,698 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9. /*No:TMP_NAME.li*/
  10. /*No:TMP_NAME.co*/
  11. /*No:TMP_NAME.fz_inherit*/
  12. int r511isa_keyword(void){
  13. int R=0;
  14. char _c=0;
  15. _c=r3to_lower(/*(IRF4.6item*/((((T7*)((T7*)(oBC511tmp_string))))->_storage/*0*/)[(1)-(1)]/*)*/);
  16. {int z1=_c;
  17.  
  18. if((97==z1)){
  19. R=r511look_in(oBC511keyword_a);
  20. }
  21.  else 
  22. if((99==z1)){
  23. R=r511look_in(oBC511keyword_c);
  24. }
  25.  else 
  26. if((100==z1)){
  27. R=r511look_in(oBC511keyword_d);
  28. }
  29.  else 
  30. if((101==z1)){
  31. R=r511look_in(oBC511keyword_e);
  32. }
  33.  else 
  34. if((102==z1)){
  35. R=r511look_in(oBC511keyword_f);
  36. }
  37.  else 
  38. if((105==z1)){
  39. R=r511look_in(oBC511keyword_i);
  40. }
  41.  else 
  42. if((108==z1)){
  43. R=r511look_in(oBC511keyword_l);
  44. }
  45.  else 
  46. if((111==z1)){
  47. R=r511look_in(oBC511keyword_o);
  48. }
  49.  else 
  50. if((112==z1)){
  51. R=r7same_as(((T7*)(((T0*)ms37_470))),oBC511tmp_string);
  52. }
  53.  else 
  54. if((114==z1)){
  55. R=r511look_in(oBC511keyword_r);
  56. }
  57.  else 
  58. if((115==z1)){
  59. R=r511look_in(oBC511keyword_s);
  60. }
  61.  else 
  62. if((116==z1)){
  63. R=r511look_in(oBC511keyword_t);
  64. }
  65.  else 
  66. if((117==z1)){
  67. R=r511look_in(oBC511keyword_u);
  68. }
  69.  else 
  70. if((118==z1)){
  71. R=r7same_as(((T7*)(((T0*)ms51_470))),oBC511tmp_string);
  72. }
  73.  else 
  74. if((119==z1)){
  75. R=r7same_as(((T7*)(((T0*)ms52_470))),oBC511tmp_string);
  76. }
  77.  else 
  78. if((120==z1)){
  79. R=r7same_as(((T7*)(((T0*)ms50_473))),oBC511tmp_string);
  80. }
  81. }
  82. return R;
  83. }
  84. /*No:TMP_NAME.fz_select*/
  85. /*No:TMP_NAME.fz_creation*/
  86. T0*oBC511keyword_s=NULL;
  87. T0*oBC511keyword_c=NULL;
  88. /*No:TMP_NAME.fz_old*/
  89. T0* r511to_e_result(T511* C){
  90. T0* R=NULL;
  91. {T715*n=malloc(sizeof(*n));
  92. *n=M715;
  93. r715make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  94. R=(T0*)n;
  95. }
  96. return R;
  97. }
  98. T0* r511to_local_name1(T511* C){
  99. T0* R=NULL;
  100. {T39*n=malloc(sizeof(*n));
  101. *n=M39;
  102. r39make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
  103. R=(T0*)n;
  104. }
  105. return R;
  106. }
  107. T0* r511to_e_current(T511* C){
  108. T0* R=NULL;
  109. {T358*n=malloc(sizeof(*n));
  110. *n=M358;
  111. r358make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),1);
  112. R=(T0*)n;
  113. }
  114. return R;
  115. }
  116. /*No:TMP_NAME.extend*/
  117. /*No:TMP_NAME.fz_separate*/
  118. /*No:TMP_NAME.fz_deferred*/
  119. T0*oBC511keyword_t=NULL;
  120. T0*oBC511keyword_d=NULL;
  121. /*No:TMP_NAME.fz_else*/
  122. /*No:TMP_NAME.fz_end*/
  123. T0* r511to_e_void(T511* C){
  124. T0* R=NULL;
  125. {T796*n=malloc(sizeof(*n));
  126. *n=M796;
  127. r796make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  128. R=(T0*)n;
  129. }
  130. return R;
  131. }
  132. int r511is_current(void){
  133. int R=0;
  134. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(7)) {
  135. R=r7same_as(((T7*)(((T0*)ms143_473))),oBC511tmp_string);
  136. }
  137. /*FI*/return R;
  138. }
  139. T0*oBC511keyword_u=NULL;
  140. T0*oBC511keyword_e=NULL;
  141. /*No:TMP_NAME.us_and*/
  142. T0* r511to_local_name2(T511* C,T0* a1,int a2){
  143. T0* R=NULL;
  144. {T23*n=malloc(sizeof(*n));
  145. *n=M23;
  146. r23refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
  147. R=(T0*)n;
  148. }
  149. return R;
  150. }
  151. T0* r511to_argument_name1(T511* C){
  152. T0* R=NULL;
  153. {T873*n=malloc(sizeof(*n));
  154. *n=M873;
  155. r873make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
  156. R=(T0*)n;
  157. }
  158. return R;
  159. }
  160. T0*oBC511keyword_f=NULL;
  161. /*No:TMP_NAME.make*/
  162. /*No:TMP_NAME.us_current*/
  163. /*No:TMP_NAME.fz_rescue*/
  164. T0* r511to_string(T511* C){
  165. T0* R=NULL;
  166. /*IF*/if (((((T511*)C))->_unique_string_memory/*0*/)==((void*)(NULL))) {
  167. R=r902item(oBC511tmp_string);
  168. C->_unique_string_memory=R;
  169. }
  170. else {
  171. R=(((T511*)C))->_unique_string_memory/*0*/;
  172. }
  173. /*FI*/return R;
  174. }
  175. T0* r511to_class_name(T511* C){
  176. T0* R=NULL;
  177. {T451*n=malloc(sizeof(*n));
  178. *n=M451;
  179. r451make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  180. R=(T0*)n;
  181. }
  182. return R;
  183. }
  184. T0* r511to_tag_name(T511* C){
  185. T0* R=NULL;
  186. {T490*n=malloc(sizeof(*n));
  187. *n=M490;
  188. r490make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  189. R=(T0*)n;
  190. }
  191. return R;
  192. }
  193. /*No:TMP_NAME.unique_string_memory*/
  194. T0* r511to_argument_name2(T511* C,T0* a1,int a2){
  195. T0* R=NULL;
  196. {T886*n=malloc(sizeof(*n));
  197. *n=M886;
  198. r886refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
  199. R=(T0*)n;
  200. }
  201. return R;
  202. }
  203. /*No:TMP_NAME.fz_external*/
  204. T0* r511start_position(T511* C){
  205. T0* R=NULL;
  206. {T627*n=malloc(sizeof(*n));
  207. *n=M627;
  208. r627make(n,(((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/);
  209. R=(T0*)n;
  210. }
  211. return R;
  212. }
  213. /*No:TMP_NAME.fz_prefix*/
  214. /*No:TMP_NAME.fz_export*/
  215. /*No:TMP_NAME.fz_all*/
  216. /*No:TMP_NAME.fz_invariant*/
  217. /*No:TMP_NAME.fz_feature*/
  218. /*No:TMP_NAME.fz_true*/
  219. T0* r511to_infix_name_use(T511* C){
  220. T0* R=NULL;
  221. {T454*n=malloc(sizeof(*n));
  222. *n=M454;
  223. r454make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  224. R=(T0*)n;
  225. }
  226. return R;
  227. }
  228. /*No:TMP_NAME.fz_if*/
  229. T0*oBC511keyword_i=NULL;
  230. /*No:TMP_NAME.fz_inspect*/
  231. /*No:TMP_NAME.fz_alias*/
  232. /*No:TMP_NAME.fz_debug*/
  233. int r511is_result(void){
  234. int R=0;
  235. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(6)) {
  236. R=r7same_as(((T7*)(((T0*)ms146_473))),oBC511tmp_string);
  237. }
  238. /*FI*/return R;
  239. }
  240. /*No:TMP_NAME.fz_rename*/
  241. /*No:TMP_NAME.fz_from*/
  242. /*No:TMP_NAME.fz_unique*/
  243. /*No:TMP_NAME.fz_once*/
  244. /*No:TMP_NAME.fz_loop*/
  245. /*No:TMP_NAME.fz_do*/
  246. /*No:TMP_NAME.us_result*/
  247. /*No:TMP_NAME.us_implies*/
  248. T0*oBC511tmp_string=NULL;
  249. T0*oBC511keyword_l=NULL;
  250. /*No:TMP_NAME.fz_obsolete*/
  251. /*No:TMP_NAME.fz_as*/
  252. /*No:TMP_NAME.fz_false*/
  253. /*No:TMP_NAME.fz_elseif*/
  254. T0* r511to_infix_name(T0* a1){
  255. T0* R=NULL;
  256. {T454*n=malloc(sizeof(*n));
  257. *n=M454;
  258. r454make(n,oBC511tmp_string,a1);
  259. R=(T0*)n;
  260. }
  261. return R;
  262. }
  263. T0* r511to_prefix_name(T511* C){
  264. T0* R=NULL;
  265. {T406*n=malloc(sizeof(*n));
  266. *n=M406;
  267. r406make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  268. R=(T0*)n;
  269. }
  270. return R;
  271. }
  272. T0* r511pos(int a1,int a2){
  273. T0* R=NULL;
  274. {T627*n=malloc(sizeof(*n));
  275. *n=M627;
  276. r627make(n,a1,a2);
  277. R=(T0*)n;
  278. }
  279. return R;
  280. }
  281. /*No:TMP_NAME.fz_variant*/
  282. /*No:TMP_NAME.fz_redefine*/
  283. /*No:TMP_NAME.fz_like*/
  284. int r511is_void(void){
  285. int R=0;
  286. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(4)) {
  287. R=r7same_as(((T7*)(((T0*)ms147_473))),oBC511tmp_string);
  288. }
  289. /*FI*/return R;
  290. }
  291. /*No:TMP_NAME.us_xor*/
  292. /*No:TMP_NAME.fz_frozen*/
  293. /*No:TMP_NAME.fz_undefine*/
  294. T0*oBC511keyword_o=NULL;
  295. T0* r511to_simple_feature_name(T511* C){
  296. T0* R=NULL;
  297. {T446*n=malloc(sizeof(*n));
  298. *n=M446;
  299. r446make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  300. R=(T0*)n;
  301. }
  302. return R;
  303. }
  304. /*No:TMP_NAME.fz_is*/
  305. /*No:TMP_NAME.fz_ensure*/
  306. int r511look_in(T0* a1){
  307. int R=0;
  308. int _i=0;
  309. _i=(((T52*)((T52*)a1)))->_upper/*8*/;
  310. while (!((R)||((_i)==(0)))) {
  311. R=r7same_as(((T7*)(r52item(((T52*)a1),_i))),oBC511tmp_string);
  312. _i=(_i)-(1);
  313. }
  314. return R;
  315. }
  316. /*No:TMP_NAME.us_void*/
  317. /*No:TMP_NAME.fz_local*/
  318. /*No:TMP_NAME.fz_indexing*/
  319. /*No:TMP_NAME.fz_require*/
  320. /*No:TMP_NAME.count*/
  321. /*No:TMP_NAME.fz_when*/
  322. /*No:TMP_NAME.fz_then*/
  323. /*No:TMP_NAME.fz_until*/
  324. T0*oBC511keyword_a=NULL;
  325. /*No:TMP_NAME.fz_check*/
  326. void r511initialize(T511* C,int a1,int a2){
  327. C->_li=a1;
  328. C->_co=a2;
  329. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC511tmp_string)))))->_count)=(0);
  330. /*]*/
  331. C->_unique_string_memory=NULL;
  332. }
  333. /*No:TMP_NAME.fz_expanded*/
  334. T0*oBC511keyword_r=NULL;
  335. /*No:TMP_NAME.fz_infix*/
  336. /*No:TMP_NAME.fz_class*/
  337. /*No:TMP_NAME.us_or*/
  338. /*No:TMP_NAME.fz_retry*/
  339. /*No:TMP_NAME.fz_strip*/
  340. T0* r240language_name(void){
  341. T0* R=NULL;
  342. R=((T0*)ms90_470);
  343. return R;
  344. }
  345. /*No:NATIVE_INLINE_WITH_CURRENT.pretty_print*/
  346. /*No:NATIVE_INLINE_WITH_CURRENT.fz_c_inlinewithcurrent*/
  347. void r913get_started(T913* C,T0* a1){
  348. int _i=0;
  349. _i=1;
  350. while (!((_i)>((((T764*)((T764*)((((T913*)C))->_list/*0*/))))->_upper/*8*/))) {
  351. r153add_into(((T153*)(r764item(((T764*)((((T913*)C))->_list/*0*/)),_i))),a1);
  352. _i=(_i)+(1);
  353. }
  354. }
  355. /*No:FEATURE_CLAUSE_LIST.make*/
  356. void r913pretty_print(T913* C){
  357. int _i=0;
  358. _i=1;
  359. while (!((_i)>((((T764*)((T764*)((((T913*)C))->_list/*0*/))))->_upper/*8*/))) {
  360. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  361. /*]*/
  362. r238indent(((T238*)(oBC364fmt)));
  363. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  364. r238skip(((T238*)(oBC364fmt)),1);
  365. }
  366. /*FI*/r153pretty_print(((T153*)(r764item(((T764*)((((T913*)C))->_list/*0*/)),_i))));
  367. _i=(_i)+(1);
  368. }
  369. }
  370. /*No:FEATURE_CLAUSE_LIST.list*/
  371. /*No:FEATURE_CLAUSE_LIST.add_last*/
  372. /*No:RUN_FEATURE_4.arguments*/
  373. /*No:RUN_FEATURE_4.actuals_clients*/
  374. void r857make(T857* C,T0* a1,T0* a2,T0* a3){
  375. C->_current_type=a1;
  376. C->_name=a2;
  377. C->_base_feature=a3;
  378. r199put(((T199*)((((T368*)((T368*)(r857run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  379. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  380. C->_use_current_state=1015;
  381. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  382. r857initialize(C);
  383. r604pop(((T604*)(oBC364small_eiffel)));
  384. }
  385. /*No:RUN_FEATURE_4.name*/
  386. int r857arg_count(T857* C){
  387. int R=0;
  388. /*IF*/if (((((T857*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  389. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T857*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  390. }
  391. /*FI*/return R;
  392. }
  393. /*No:RUN_FEATURE_4.local_vars*/
  394. /*No:RUN_FEATURE_4.base_feature*/
  395. /*No:RUN_FEATURE_4.start_position*/
  396. /*No:RUN_FEATURE_4.ensure_assertion*/
  397. int r857is_exported_in(T857* C,T0* a1){
  398. int R=0;
  399. R=r636gives_permission_to(((T636*)(r857clients(C))),a1);
  400. return R;
  401. }
  402. /*No:RUN_FEATURE_4.result_type*/
  403. void r857add_client(T857* C,T0* a1){
  404. int _i=0;
  405. /*IF*/if (((((T857*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  406. {T187*n=malloc(sizeof(*n));
  407. *n=M187;
  408. r187with_capacity(n,4);
  409. C->_actuals_clients=(T0*)n;
  410. }
  411. r187add_last(((T187*)((((T857*)C))->_actuals_clients/*12*/)),a1);
  412. }
  413. else {
  414. _i=r187fast_index_of(((T187*)((((T857*)C))->_actuals_clients/*12*/)),a1);
  415. /*IF*/if ((_i)>((((T187*)((T187*)((((T857*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  416. r187add_last(((T187*)((((T857*)C))->_actuals_clients/*12*/)),a1);
  417. }
  418. /*FI*/}
  419. /*FI*/r368add_client(((T368*)(r857run_class(C))),a1);
  420. }
  421. /*No:RUN_FEATURE_4.require_assertion*/
  422. /*No:RUN_FEATURE_4.use_current_state*/
  423. /*No:RUN_FEATURE_4.current_type*/
  424. T0* r857run_class(T857* C){
  425. T0* R=NULL;
  426. R=X291run_class((((T857*)C))->_current_type/*4*/);
  427. return R;
  428. }
  429. /*No:RUN_FEATURE_4.ucs_not_computed*/
  430. /*No:RUN_FEATURE_4.routine_body*/
  431. T0* r857clients(T857* C){
  432. T0* R=NULL;
  433. T0* _bfbc=NULL;
  434. T0* _bc=NULL;
  435. /*IF*/if (((((T857*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  436. _bc=X291base_class((((T857*)C))->_current_type/*4*/);
  437. _bfbc=(((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  438. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  439. R=(((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_clients/*24*/;
  440. }
  441. else {
  442. R=r605clients_for(((T605*)_bc),(((T857*)C))->_name/*16*/);
  443. }
  444. /*FI*/C->_clients_memory=R;
  445. }
  446. else {
  447. R=(((T857*)C))->_clients_memory/*8*/;
  448. }
  449. /*FI*/return R;
  450. }
  451. /*No:RUN_FEATURE_4.clients_memory*/
  452. void r857initialize(T857* C){
  453. C->_arguments=(((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_arguments/*28*/;
  454. /*IF*/if ((((((T857*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T857*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  455. C->_arguments=r31to_runnable(((T31*)((((T857*)C))->_arguments/*20*/)),(((T857*)C))->_current_type/*4*/);
  456. }
  457. /*FI*/C->_result_type=X291to_runnable((((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_result_type/*12*/,(((T857*)C))->_current_type/*4*/);
  458. C->_local_vars=(((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
  459. /*IF*/if ((((((T857*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T857*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  460. C->_local_vars=r620to_runnable(((T620*)((((T857*)C))->_local_vars/*48*/)),(((T857*)C))->_current_type/*4*/);
  461. }
  462. /*FI*/C->_routine_body=(((T696*)((T696*)((((T857*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
  463. /*IF*/if (((((T857*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  464. C->_routine_body=r592to_runnable(((T592*)((((T857*)C))->_routine_body/*32*/)),(((T857*)C))->_current_type/*4*/);
  465. }
  466. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  467. C->_require_assertion=r696run_require((T0*)C);
  468. }
  469. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  470. C->_ensure_assertion=r696run_ensure((T0*)C);
  471. }
  472. /*FI*/}
  473. int r284has_creation(T284* C,T0* a1){
  474. int R=0;
  475. r683add_position(X776start_position(a1));
  476. r284error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T284*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_284));
  477. return R;
  478. }
  479. /*No:TYPE_NONE.us_none*/
  480. /*No:TYPE_NONE.is_anchored*/
  481. /*No:TYPE_NONE.is_array*/
  482. /*No:TYPE_NONE.is_a*/
  483. /*No:TYPE_NONE.run_type*/
  484. /*No:TYPE_NONE.is_pointer*/
  485. /*No:TYPE_NONE.is_string*/
  486. /*No:TYPE_NONE.is_like_feature*/
  487. /*No:TYPE_NONE.is_like_current*/
  488. void r284make(T284* C,T0* a1){
  489. {T451*n=malloc(sizeof(*n));
  490. *n=M451;
  491. r451make(n,((T0*)ms19_473),a1);
  492. C->_base_class_name=(T0*)n;
  493. }
  494. }
  495. /*No:TYPE_NONE.start_position*/
  496. /*No:TYPE_NONE.is_character*/
  497. T0* r284written_mark(void){
  498. T0* R=NULL;
  499. R=((T0*)ms19_473);
  500. return R;
  501. }
  502. /*No:TYPE_NONE.to_runnable*/
  503. /*No:TYPE_NONE.is_run_type*/
  504. /*No:TYPE_NONE.is_formal_generic*/
  505. T0* r284generic_list(T284* C){
  506. T0* R=NULL;
  507. r284fatal_error_generic_list(C);
  508. return R;
  509. }
  510. /*No:TYPE_NONE.is_real*/
  511. /*No:TYPE_NONE.is_bit*/
  512. void r284fatal_error_generic_list(T284* C){
  513. r683add_type((T0*)C,((T0*)ms12_291));
  514. r683print_as_fatal_error(((T683*)(oBC364eh)));
  515. }
  516. /*No:TYPE_NONE.pretty_print*/
  517. T0* r284smallest_ancestor(T0* a1){
  518. T0* R=NULL;
  519. R=a1;
  520. return R;
  521. }
  522. /*No:TYPE_NONE.is_boolean*/
  523. /*No:TYPE_NONE.is_double*/
  524. /*No:TYPE_NONE.run_class*/
  525. T0* r284run_time_mark(void){
  526. T0* R=NULL;
  527. R=((T0*)ms19_473);
  528. return R;
  529. }
  530. int r284is_a_in(T284* C,T0* a1,T0* a2){
  531. int R=0;
  532. T0* _ct=NULL;
  533. T0* _t2=NULL;
  534. T0* _t1=NULL;
  535. /*IF*/if ((r284written_mark())==((void*)(X291written_mark(a1)))) {
  536. R=1;
  537. }
  538. else {
  539. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  540. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  541. _t2=X291to_runnable(a1,_ct);
  542. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  543. R=1;
  544. }
  545. else {
  546. R=X291is_a(_t1,_t2);
  547. }
  548. /*FI*/}
  549. /*FI*/return R;
  550. }
  551. T0* r284look_up_for(T284* C,T0* a1,T0* a2){
  552. T0* R=NULL;
  553. R=r605look_up_for(((T605*)(r284base_class(C))),a1,a2);
  554. return R;
  555. }
  556. /*No:TYPE_NONE.expanded_initializer*/
  557. /*No:TYPE_NONE.fz_dot*/
  558. /*No:TYPE_NONE.is_generic*/
  559. /*No:TYPE_NONE.used_as_reference*/
  560. /*No:TYPE_NONE.is_reference*/
  561. void r284error(T0* a1,T0* a2){
  562. r683add_position(a1);
  563. r683error(((T683*)(oBC364eh)),a2);
  564. }
  565. T0* r284base_class(T284* C){
  566. T0* R=NULL;
  567. T0* _bcn=NULL;
  568. _bcn=(((T284*)C))->_base_class_name/*4*/;
  569. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  570. R=r451base_class(((T451*)_bcn));
  571. }
  572. else {
  573. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  574. r7append(((T7*)(oBC683explanation)),b1);
  575. }/*]*/
  576. r683add_type((T0*)C,((T0*)ms67_470));
  577. r683print_as_fatal_error(((T683*)(oBC364eh)));
  578. }
  579. /*FI*/return R;
  580. }
  581. /*No:TYPE_NONE.is_any*/
  582. /*No:TYPE_NONE.base_class_name*/
  583. /*No:TYPE_NONE.is_expanded*/
  584. /*No:TYPE_NONE.is_basic_eiffel_expanded*/
  585. /*No:TYPE_NONE.is_none*/
  586. /*No:TYPE_NONE.is_integer*/
  587. /*No:PROCEDURE.arguments*/
  588. T0* r297try_to_undefine(T297* C,T0* a1,T0* a2){
  589. T0* R=NULL;
  590. X776undefine_in(a1,a2);
  591. R=r297try_to_undefine_aux(C,a1,a2);
  592. /*IF*/if ((R)!=((void*)(NULL))) {
  593. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T297*)C))->_clients/*24*/);
  594. /*]*/
  595. }
  596. else {
  597. r605fatal_undefine(((T605*)a2),a1);
  598. }
  599. /*FI*/return R;
  600. }
  601. /*No:PROCEDURE.is_deferred*/
  602. /*No:PROCEDURE.fz_bad_assertion*/
  603. T0* r297runnable(T0* a1,T0* a2,T0* a3){
  604. T0* R=NULL;
  605. T0* _a=NULL;
  606. int _i=0;
  607. /*IF*/if (!(r608empty(((T608*)a1)))) {
  608. R=r608twin(((T608*)a1));
  609. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  610. while (!((_i)==(0))) {
  611. r604push(((T604*)(oBC364small_eiffel)),a3);
  612. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  613. /*IF*/if ((_a)==((void*)(NULL))) {
  614. r297error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  615. }
  616. else {
  617. /*[IRF3.6put*/{T608* C1=((T608*)R);
  618. T0* b1=_a;
  619. int b2=_i;
  620. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  621. }/*]*/
  622. }
  623. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  624. _i=(_i)-(1);
  625. }
  626. }
  627. /*FI*/return R;
  628. }
  629. /*No:PROCEDURE.rescue_compound*/
  630. void r297add_into(T297* C,T0* a1){
  631. T0* _fn=NULL;
  632. int _i=0;
  633. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  634. _i=1;
  635. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  636. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  637. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  638. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  639. r683add_position(X776start_position(_fn));
  640. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  641. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  642. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  643. r7append(((T7*)(oBC683explanation)),b1);
  644. }/*]*/
  645. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  646. }
  647. else {
  648. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  649. }
  650. /*FI*/_i=(_i)+(1);
  651. }
  652. }
  653. /*No:PROCEDURE.end_comment*/
  654. T0* r297try_to_undefine_aux(T297* C,T0* a1,T0* a2){
  655. T0* R=NULL;
  656. {T853*n=malloc(sizeof(*n));
  657. *n=M853;
  658. r853from_effective(n,a1,(((T297*)C))->_arguments/*28*/,(((T297*)C))->_require_assertion/*36*/,(((T297*)C))->_ensure_assertion/*40*/,a2);
  659. R=(T0*)n;
  660. }
  661. return R;
  662. }
  663. void r297make(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  664. r297make_routine(C,a1,a2,a3,a4,a5);
  665. C->_local_vars=a6;
  666. C->_routine_body=a7;
  667. C->_use_current_state=1011;
  668. }
  669. /*No:PROCEDURE.not_computed*/
  670. /*No:PROCEDURE.nb_errors*/
  671. void r297pretty_print_one_name(T0* a1){
  672. /*IF*/if (X776is_frozen(a1)) {
  673. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  674. }
  675. /*FI*/X776definition_pretty_print(a1);
  676. }
  677. void r297make_routine(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  678. r297make_e_feature(C,a1,NULL);
  679. C->_header_comment=a4;
  680. C->_arguments=a2;
  681. C->_obsolete_mark=a3;
  682. C->_require_assertion=a5;
  683. }
  684. /*No:PROCEDURE.local_vars*/
  685. void r297set_header_comment(T297* C,T0* a1){
  686. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  687. C->_end_comment=a1;
  688. }
  689. /*FI*/}
  690. T0* r297start_position(T297* C){
  691. T0* R=NULL;
  692. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  693. return R;
  694. }
  695. T0* r297to_run_feature(T297* C,T0* a1,T0* a2){
  696. T0* R=NULL;
  697. r297check_obsolete(C);
  698. {T845*n=malloc(sizeof(*n));
  699. *n=M845;
  700. r845make(n,a1,a2,(T0*)C);
  701. R=(T0*)n;
  702. }
  703. return R;
  704. }
  705. /*No:PROCEDURE.ensure_assertion*/
  706. /*No:PROCEDURE.code_require*/
  707. T0* r297run_ensure(T0* a1){
  708. T0* R=NULL;
  709. T0* _r=NULL;
  710. r608clear(((T608*)(oBC359assertion_collector)));
  711. /*[IRF3.3clear*/{T0* _default_item=NULL;
  712. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  713. }/*]*/
  714. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  715. _r=r297runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  716. /*IF*/if ((_r)!=((void*)(NULL))) {
  717. {T633*n=malloc(sizeof(*n));
  718. *n=M633;
  719. r633from_runnable(n,_r);
  720. R=(T0*)n;
  721. }
  722. /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
  723. /*]*/
  724. /*[IRF3.3clear*/{T0* _default_item=NULL;
  725. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  726. }/*]*/
  727. }
  728. /*FI*/return R;
  729. }
  730. T0* r297run_require(T0* a1){
  731. T0* R=NULL;
  732. T0* _ar=NULL;
  733. T0* _hc=NULL;
  734. T0* _er=NULL;
  735. T0* _r=NULL;
  736. int _i=0;
  737. r522clear(((T522*)(oBC359require_collector)));
  738. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  739. /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
  740. _i=1;
  741. while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
  742. _er=r522item(((T522*)(oBC359require_collector)),_i);
  743. _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
  744. /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
  745. _r=r297runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  746. /*IF*/if ((_r)!=((void*)(NULL))) {
  747. {T343*n=malloc(sizeof(*n));
  748. *n=M343;
  749. r343from_runnable(n,_r);
  750. _er=(T0*)n;
  751. }
  752. /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
  753. /*]*/
  754. /*IF*/if ((_ar)==((void*)(NULL))) {
  755. _ar=se_ma522(1,_er);
  756. }
  757. else {
  758. r522add_last(((T522*)_ar),_er);
  759. }
  760. /*FI*/}
  761. /*FI*/}
  762. /*FI*/_i=(_i)+(1);
  763. }
  764. /*IF*/if ((_ar)!=((void*)(NULL))) {
  765. {T541*n=malloc(sizeof(*n));
  766. *n=M541;
  767. /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar);
  768. /*]*/
  769. R=(T0*)n;
  770. }
  771. }
  772. /*FI*/}
  773. /*FI*/return R;
  774. }
  775. /*No:PROCEDURE.result_type*/
  776. /*No:PROCEDURE.fz_03*/
  777. /*No:PROCEDURE.em1*/
  778. void r297pretty_print(T297* C){
  779. T0* _fn=NULL;
  780. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  781. /*]*/
  782. r238indent(((T238*)(oBC364fmt)));
  783. r297pretty_print_profile(C);
  784. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355));
  785. /*IF*/if (((((T297*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  786. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  787. /*]*/
  788. r238indent(((T238*)(oBC364fmt)));
  789. r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355));
  790. r805pretty_print(((T805*)((((T297*)C))->_obsolete_mark/*32*/)));
  791. }
  792. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  793. /*]*/
  794. r238indent(((T238*)(oBC364fmt)));
  795. /*IF*/if (((((T297*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  796. r393pretty_print(((T393*)((((T297*)C))->_header_comment/*16*/)));
  797. }
  798. /*FI*//*IF*/if (((((T297*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  799. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  800. /*]*/
  801. r343pretty_print(((T343*)((((T297*)C))->_require_assertion/*36*/)));
  802. }
  803. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  804. /*]*/
  805. r238indent(((T238*)(oBC364fmt)));
  806. r297pretty_print_routine_body(C);
  807. /*IF*/if (((((T297*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  808. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  809. /*]*/
  810. r633pretty_print(((T633*)((((T297*)C))->_ensure_assertion/*40*/)));
  811. }
  812. /*FI*//*IF*/if (((((T297*)C))->_rescue_compound/*44*/)!=((void*)(NULL))) {
  813. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  814. /*]*/
  815. r238indent(((T238*)(oBC364fmt)));
  816. r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355));
  817. r592pretty_print(((T592*)((((T297*)C))->_rescue_compound/*44*/)));
  818. }
  819. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  820. /*]*/
  821. r238indent(((T238*)(oBC364fmt)));
  822. r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355));
  823. /*IF*/if ((((((T297*)C))->_end_comment/*48*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T297*)C))->_end_comment/*48*/)))))) {
  824. r393pretty_print(((T393*)((((T297*)C))->_end_comment/*48*/)));
  825. }
  826.  else if (r238print_end_routine(((T238*)(oBC364fmt)))) {
  827. r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355));
  828. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  829. X776definition_pretty_print(_fn);
  830. }
  831. /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
  832. }
  833. /*No:PROCEDURE.obsolete_mark*/
  834. /*No:PROCEDURE.set_clients*/
  835. /*No:PROCEDURE.em2*/
  836. /*No:PROCEDURE.names*/
  837. /*No:PROCEDURE.require_assertion*/
  838. /*No:PROCEDURE.use_current_state*/
  839. /*No:PROCEDURE.code_ensure*/
  840. void r297set_rescue_compound(T297* C,T0* a1){
  841. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
  842. r297error(r297start_position(C),((T0*)ms6_355));
  843. }
  844. /*FI*/C->_rescue_compound=a1;
  845. }
  846. void r297pretty_print_profile(T297* C){
  847. r297pretty_print_names(C);
  848. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  849. /*]*/
  850. r297pretty_print_arguments(C);
  851. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  852. /*]*/
  853. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  854. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  855. X291pretty_print((((T297*)C))->_result_type/*12*/);
  856. }
  857. /*FI*/}
  858. void r297pretty_print_names(T297* C){
  859. int _i=0;
  860. _i=1;
  861. r297pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  862. _i=(_i)+(1);
  863. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  864. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  865. r297pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  866. _i=(_i)+(1);
  867. }
  868. }
  869. int r297can_hide(T297* C,T0* a1,T0* a2){
  870. int R=0;
  871. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  872. /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  873. r683add_position(X359start_position(a1));
  874. r297error(r297start_position(C),((T0*)ms5_359));
  875. }
  876. /*FI*/}
  877. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  878. /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  879. r683add_position(X359start_position(a1));
  880. r297error(r297start_position(C),((T0*)ms6_359));
  881. }
  882.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  883. r683add_position(X359start_position(a1));
  884. r297error(r297start_position(C),((T0*)ms7_359));
  885. }
  886. /*FI*/}
  887. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  888. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  889. /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  890. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  891. r7append(((T7*)(oBC683explanation)),b1);
  892. }/*]*/
  893. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  894. r7append(((T7*)(oBC683explanation)),b1);
  895. }/*]*/
  896. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  897. }
  898. /*FI*/}
  899. /*FI*/}
  900. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  901. /*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  902. /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  903. r683add_position(X359start_position(a1));
  904. r683add_position(r297start_position(C));
  905. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  906. r7append(((T7*)(oBC683explanation)),b1);
  907. }/*]*/
  908. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  909. r7append(((T7*)(oBC683explanation)),b1);
  910. }/*]*/
  911. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  912. }
  913. /*FI*/}
  914. /*FI*/}
  915. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  916. return R;
  917. }
  918. /*No:PROCEDURE.header_comment*/
  919. /*No:PROCEDURE.routine_body*/
  920. int r297is_merge_with(T297* C,T0* a1,T0* a2){
  921. int R=0;
  922. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  923. /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  924. r683add_position(X359start_position(a1));
  925. r297error(r297start_position(C),((T0*)ms2_359));
  926. }
  927. /*FI*/}
  928. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  929. /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  930. r683add_position(X359start_position(a1));
  931. r297error(r297start_position(C),((T0*)ms3_359));
  932. }
  933.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  934. r683add_position(X359start_position(a1));
  935. r297error(r297start_position(C),((T0*)ms4_359));
  936. }
  937. /*FI*/}
  938. /*FI*//*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  939. /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  940. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  941. }
  942. /*FI*/}
  943. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  944. /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  945. r683add_position(X359start_position(a1));
  946. r297error(r297start_position(C),((T0*)ms12_359));
  947. }
  948. /*FI*/}
  949. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  950. return R;
  951. }
  952. /*No:PROCEDURE.fz_dot*/
  953. /*No:PROCEDURE.set_ensure_assertion*/
  954. /*No:PROCEDURE.first_name*/
  955. /*No:PROCEDURE.pretty_print_once_or_do*/
  956. /*No:PROCEDURE.clients*/
  957. void r297collect_for(T297* C,int a1){
  958. /*IF*/if ((a1)==(1001)) {
  959. /*IF*/if (((((T297*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  960. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/))) {
  961. r522add_last(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/);
  962. }
  963. /*FI*/}
  964. /*FI*/}
  965. else {
  966. /*IF*/if (((((T297*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  967. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T297*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
  968. /*]*/
  969. r633add_into(((T633*)((((T297*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
  970. }
  971. /*FI*/}
  972. /*FI*/}
  973. void r297error(T0* a1,T0* a2){
  974. r683add_position(a1);
  975. r683error(((T683*)(oBC364eh)),a2);
  976. }
  977. /*No:PROCEDURE.base_class*/
  978. void r297pretty_print_arguments(T297* C){
  979. /*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  980. r31pretty_print(((T31*)((((T297*)C))->_arguments/*28*/)));
  981. }
  982. /*FI*/}
  983. void r297pretty_print_routine_body(T297* C){
  984. /*IF*/if (((((T297*)C))->_local_vars/*20*/)!=((void*)(NULL))) {
  985. r620pretty_print(((T620*)((((T297*)C))->_local_vars/*20*/)));
  986. }
  987. /*FI*/r238indent(((T238*)(oBC364fmt)));
  988. /*[IRF3.2pretty_print_once_or_do*/r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_706));
  989. /*]*/
  990. r238put_character(((T238*)(oBC364fmt)),'\40');
  991. /*IF*/if (((((T297*)C))->_routine_body/*52*/)!=((void*)(NULL))) {
  992. r592pretty_print(((T592*)((((T297*)C))->_routine_body/*52*/)));
  993. }
  994. /*FI*/}
  995. void r297make_e_feature(T297* C,T0* a1,T0* a2){
  996. C->_names=a1;
  997. C->_result_type=a2;
  998. }
  999. void r297check_obsolete(T297* C){
  1000. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  1001. /*IF*/if (((((T297*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  1002. /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
  1003. r7append(((T7*)(oBC683explanation)),b1);
  1004. }/*]*/
  1005. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T297*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/;
  1006. r7append(((T7*)(oBC683explanation)),b1);
  1007. }/*]*/
  1008. r297warning(r297start_position(C),((T0*)ms137_470));
  1009. }
  1010. /*FI*/}
  1011. /*FI*/}
  1012. void r297warning(T0* a1,T0* a2){
  1013. r683add_position(a1);
  1014. r683warning(((T683*)(oBC364eh)),a2);
  1015. }
  1016. /*No:CST_ATT_REAL.arguments*/
  1017. T0* r835try_to_undefine(T835* C,T0* a1,T0* a2){
  1018. T0* R=NULL;
  1019. X776undefine_in(a1,a2);
  1020. R=r835try_to_undefine_aux(C,a1,a2);
  1021. /*IF*/if ((R)!=((void*)(NULL))) {
  1022. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T835*)C))->_clients/*20*/);
  1023. /*]*/
  1024. }
  1025. else {
  1026. r605fatal_undefine(((T605*)a2),a1);
  1027. }
  1028. /*FI*/return R;
  1029. }
  1030. /*No:CST_ATT_REAL.is_deferred*/
  1031. void r835pretty_tail(T835* C){
  1032. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
  1033. /*[IRF3.6pretty_print*/{T936* C1=((T936*)(/*(IRF4.3value*/(((T835*)C))->_value_mem/*24*//*)*/));
  1034. r238put_string(((T238*)(oBC364fmt)),(((T936*)C1))->_to_string/*12*/);
  1035. }/*]*/
  1036. }
  1037. void r835add_into(T835* C,T0* a1){
  1038. T0* _fn=NULL;
  1039. int _i=0;
  1040. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1041. _i=1;
  1042. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1043. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1044. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1045. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1046. r683add_position(X776start_position(_fn));
  1047. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1048. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1049. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1050. r7append(((T7*)(oBC683explanation)),b1);
  1051. }/*]*/
  1052. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1053. }
  1054. else {
  1055. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1056. }
  1057. /*FI*/_i=(_i)+(1);
  1058. }
  1059. }
  1060. T0* r835try_to_undefine_aux(T835* C,T0* a1,T0* a2){
  1061. T0* R=NULL;
  1062. r683add_position(r835start_position(C));
  1063. r835error(X776start_position(a1),((T0*)ms1_308));
  1064. r605fatal_undefine(((T605*)a2),a1);
  1065. return R;
  1066. }
  1067. void r835make(T835* C,T0* a1,T0* a2,T0* a3){
  1068. r835make_e_feature(C,a1,a2);
  1069. C->_value_mem=a3;
  1070. }
  1071. /*No:CST_ATT_REAL.nb_errors*/
  1072. void r835pretty_print_one_name(T0* a1){
  1073. /*IF*/if (X776is_frozen(a1)) {
  1074. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  1075. }
  1076. /*FI*/X776definition_pretty_print(a1);
  1077. }
  1078. /*No:CST_ATT_REAL.set_header_comment*/
  1079. T0* r835start_position(T835* C){
  1080. T0* R=NULL;
  1081. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1082. return R;
  1083. }
  1084. T0* r835to_run_feature(T835* C,T0* a1,T0* a2){
  1085. T0* R=NULL;
  1086. T0* _rc=NULL;
  1087. _rc=X291run_class(a1);
  1088. R=r368at(((T368*)_rc),a2);
  1089. if(NULL!=(R))switch(((T0*)R)->id) {
  1090. case 808: 
  1091. break;
  1092. default:
  1093. R=NULL;
  1094. };/*IF*/if ((R)==((void*)(NULL))) {
  1095. {T808*n=malloc(sizeof(*n));
  1096. *n=M808;
  1097. r808make(n,a1,a2,(T0*)C);
  1098. R=(T0*)n;
  1099. }
  1100. }
  1101. /*FI*/return R;
  1102. }
  1103. /*No:CST_ATT_REAL.ensure_assertion*/
  1104. /*No:CST_ATT_REAL.code_require*/
  1105. /*No:CST_ATT_REAL.result_type*/
  1106. /*No:CST_ATT_REAL.em1*/
  1107. void r835pretty_print(T835* C){
  1108. r835pretty_print_profile(C);
  1109. r835pretty_tail(C);
  1110. r238put_character(((T238*)(oBC364fmt)),'\73');
  1111. /*IF*/if (((((T835*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  1112. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1113. /*]*/
  1114. r238indent(((T238*)(oBC364fmt)));
  1115. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1116. /*]*/
  1117. r393pretty_print(((T393*)((((T835*)C))->_header_comment/*16*/)));
  1118. }
  1119. /*FI*/}
  1120. /*No:CST_ATT_REAL.set_clients*/
  1121. /*No:CST_ATT_REAL.em2*/
  1122. /*No:CST_ATT_REAL.require_assertion*/
  1123. /*No:CST_ATT_REAL.value*/
  1124. /*No:CST_ATT_REAL.names*/
  1125. /*No:CST_ATT_REAL.value_mem*/
  1126. void r835pretty_print_profile(T835* C){
  1127. r835pretty_print_names(C);
  1128. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1129. /*]*/
  1130. /*[IRF3.1pretty_print_arguments*//*]*/
  1131. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  1132. /*]*/
  1133. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1134. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  1135. X291pretty_print((((T835*)C))->_result_type/*12*/);
  1136. }
  1137. /*FI*/}
  1138. void r835pretty_print_names(T835* C){
  1139. int _i=0;
  1140. _i=1;
  1141. r835pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1142. _i=(_i)+(1);
  1143. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1144. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  1145. r835pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1146. _i=(_i)+(1);
  1147. }
  1148. }
  1149. int r835can_hide(T835* C,T0* a1,T0* a2){
  1150. int R=0;
  1151. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1152. /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1153. r683add_position(X359start_position(a1));
  1154. r835error(r835start_position(C),((T0*)ms5_359));
  1155. }
  1156. /*FI*/}
  1157. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1158. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1159. r835error(r835start_position(C),((T0*)ms6_359));
  1160. }
  1161. /*FI*/}
  1162. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1163. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1164. /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1165. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1166. r7append(((T7*)(oBC683explanation)),b1);
  1167. }/*]*/
  1168. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1169. r7append(((T7*)(oBC683explanation)),b1);
  1170. }/*]*/
  1171. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1172. }
  1173. /*FI*/}
  1174. /*FI*/}
  1175. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1176. /*IF*//*AF*//*AE*/
  1177. /*FI*/}
  1178. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1179. return R;
  1180. }
  1181. /*No:CST_ATT_REAL.header_comment*/
  1182. int r835is_merge_with(T835* C,T0* a1,T0* a2){
  1183. int R=0;
  1184. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1185. /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1186. r683add_position(X359start_position(a1));
  1187. r835error(r835start_position(C),((T0*)ms2_359));
  1188. }
  1189. /*FI*/}
  1190. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1191. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1192. r835error(r835start_position(C),((T0*)ms3_359));
  1193. }
  1194. /*FI*/}
  1195. /*FI*//*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1196. /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1197. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1198. }
  1199. /*FI*/}
  1200. /*FI*//*IF*//*AF*//*AE*/
  1201. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1202. return R;
  1203. }
  1204. /*No:CST_ATT_REAL.fz_dot*/
  1205. /*No:CST_ATT_REAL.first_name*/
  1206. /*No:CST_ATT_REAL.clients*/
  1207. void r835collect_for(int a1){
  1208. /*IF*/if ((a1)==(1001)) {
  1209. /*IF*//*AF*//*AE*/
  1210. /*FI*/}
  1211. else {
  1212. /*IF*//*AF*//*AE*/
  1213. /*FI*/}
  1214. /*FI*/}
  1215. void r835error(T0* a1,T0* a2){
  1216. r683add_position(a1);
  1217. r683error(((T683*)(oBC364eh)),a2);
  1218. }
  1219. /*No:CST_ATT_REAL.base_class*/
  1220. /*No:CST_ATT_REAL.pretty_print_arguments*/
  1221. void r835make_e_feature(T835* C,T0* a1,T0* a2){
  1222. C->_names=a1;
  1223. C->_result_type=a2;
  1224. }
  1225. /*No:FMT.semi_colon_flag*/
  1226. void r238connect_to(T238* C,T0* a1){
  1227. C->_sfw=a1;
  1228. C->_line=1;
  1229. C->_column=1;
  1230. C->_blank_lines=0;
  1231. C->_last_character='\0';
  1232. }
  1233. /*No:FMT.C_zen*/
  1234. /*No:FMT.set_mode*/
  1235. int r238zen_mode(T238* C){
  1236. int R=0;
  1237. R=((((T238*)C))->_mode/*4*/)==(1);
  1238. return R;
  1239. }
  1240. /*No:FMT.C_parano*/
  1241. /*No:FMT.set_default*/
  1242. void r238keyword(T238* C,T0* a1){
  1243. {int z1=(((T238*)C))->_last_character/*20*/;
  1244.  
  1245. if((0==z1)||(10==z1)||(32==z1)){
  1246. }
  1247.  else{r238put_character(C,'\40');
  1248. }}
  1249. r238put_string(C,a1);
  1250. /*IF*/if (((((T238*)C))->_last_character/*20*/)!=('\40')) {
  1251. r238put_character(C,'\40');
  1252. }
  1253. /*FI*/}
  1254. /*No:FMT.line*/
  1255. /*No:FMT.mode*/
  1256. /*No:FMT.make*/
  1257. int r238print_end_if(T238* C){
  1258. int R=0;
  1259. {int z1=(((T238*)C))->_mode/*4*/;
  1260.  
  1261. if((1==z1)){
  1262. }
  1263.  else 
  1264. if((0==z1)){
  1265. }
  1266.  else 
  1267. if((2==z1)){
  1268. R=1;
  1269. }
  1270.  else {R=1;
  1271. }}
  1272. return R;
  1273. }
  1274. /*No:FMT.C_default*/
  1275. /*No:FMT.column*/
  1276. int r238print_end_routine(T238* C){
  1277. int R=0;
  1278. {int z1=(((T238*)C))->_mode/*4*/;
  1279.  
  1280. if((1==z1)){
  1281. }
  1282.  else 
  1283. if((0==z1)){
  1284. R=1;
  1285. }
  1286.  else 
  1287. if((2==z1)){
  1288. R=1;
  1289. }
  1290.  else {R=1;
  1291. }}
  1292. return R;
  1293. }
  1294. /*No:FMT.set_semi_colon_flag*/
  1295. void r238level_incr(T238* C){
  1296. C->_indent_level=((((T238*)C))->_indent_level/*21*/)+(1);
  1297. }
  1298. /*No:FMT.set_zen*/
  1299. void r238skip(T238* C,int a1){
  1300. while (!(((((T238*)C))->_blank_lines/*16*/)>=(a1))) {
  1301. r238put_character(C,'\n');
  1302. }
  1303. r238indent(C);
  1304. }
  1305. T0*oBC238tmp_string=NULL;
  1306. int r238print_end_debug(T238* C){
  1307. int R=0;
  1308. {int z1=(((T238*)C))->_mode/*4*/;
  1309.  
  1310. if((1==z1)){
  1311. }
  1312.  else 
  1313. if((0==z1)){
  1314. }
  1315.  else 
  1316. if((2==z1)){
  1317. R=1;
  1318. }
  1319.  else {R=1;
  1320. }}
  1321. return R;
  1322. }
  1323. /*No:FMT.last_character*/
  1324. void r238put_string(T238* C,T0* a1){
  1325. int _i=0;
  1326. _i=1;
  1327. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  1328. r238put_character(C,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/);
  1329. _i=(_i)+(1);
  1330. }
  1331. }
  1332. void r238indent(T238* C){
  1333. int _goal=0;
  1334. _goal=(1)+(((((T238*)C))->_indent_level/*21*/)*(3));
  1335. /*IF*/if (((((T238*)C))->_column/*8*/)>(_goal)) {
  1336. r238put_character(C,'\n');
  1337. }
  1338. /*FI*/while (!((_goal)==((((T238*)C))->_column/*8*/))) {
  1339. r238put_character(C,'\40');
  1340. }
  1341. {int z1=(((T238*)C))->_last_character/*20*/;
  1342.  
  1343. if((10==z1)||(32==z1)){
  1344. }
  1345.  else{r238put_character(C,'\n');
  1346. r238indent(C);
  1347. }}
  1348. }
  1349. /*No:FMT.set_parano*/
  1350. void r238put_integer(T238* C,int a1){
  1351. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC238tmp_string)))))->_count)=(0);
  1352. /*]*/
  1353. r2append_in(a1,oBC238tmp_string);
  1354. r238put_string(C,oBC238tmp_string);
  1355. }
  1356. int r238print_end_check(T238* C){
  1357. int R=0;
  1358. {int z1=(((T238*)C))->_mode/*4*/;
  1359.  
  1360. if((1==z1)){
  1361. }
  1362.  else 
  1363. if((0==z1)){
  1364. }
  1365.  else 
  1366. if((2==z1)){
  1367. R=1;
  1368. }
  1369.  else {R=1;
  1370. }}
  1371. return R;
  1372. }
  1373. /*No:FMT.indent_increment*/
  1374. void r238put_character(T238* C,char a1){
  1375. /*[IRF3.6put_character*/{T544* C1=((T544*)((((T238*)C))->_sfw/*0*/));
  1376. char b1=a1;
  1377. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1378. }/*]*/
  1379. C->_last_character=a1;
  1380. {int z1=a1;
  1381.  
  1382. if((10==z1)){
  1383. C->_line=((((T238*)C))->_line/*12*/)+(1);
  1384. C->_column=1;
  1385. C->_blank_lines=((((T238*)C))->_blank_lines/*16*/)+(1);
  1386. }
  1387.  else 
  1388. if((9==z1)||(32==z1)){
  1389. C->_column=((((T238*)C))->_column/*8*/)+(1);
  1390. }
  1391.  else{C->_column=((((T238*)C))->_column/*8*/)+(1);
  1392. C->_blank_lines=-(1);
  1393. }}
  1394. }
  1395. /*No:FMT.set_end*/
  1396. void r238level_decr(T238* C){
  1397. C->_indent_level=((((T238*)C))->_indent_level/*21*/)-(1);
  1398. }
  1399. /*No:FMT.sfw*/
  1400. int r238print_end_loop(T238* C){
  1401. int R=0;
  1402. {int z1=(((T238*)C))->_mode/*4*/;
  1403.  
  1404. if((1==z1)){
  1405. }
  1406.  else 
  1407. if((0==z1)){
  1408. }
  1409.  else 
  1410. if((2==z1)){
  1411. R=1;
  1412. }
  1413.  else {R=1;
  1414. }}
  1415. return R;
  1416. }
  1417. /*No:FMT.indent_level*/
  1418. /*No:FMT.blank_lines*/
  1419. void r238put_end(T238* C,T0* a1){
  1420. r238put_string(C,((T0*)ms1_238));
  1421. r238put_string(C,a1);
  1422. r238put_character(C,'\n');
  1423. }
  1424. int r238print_end_inspect(T238* C){
  1425. int R=0;
  1426. {int z1=(((T238*)C))->_mode/*4*/;
  1427.  
  1428. if((1==z1)){
  1429. }
  1430.  else 
  1431. if((0==z1)){
  1432. }
  1433.  else 
  1434. if((2==z1)){
  1435. R=1;
  1436. }
  1437.  else {R=1;
  1438. }}
  1439. return R;
  1440. }
  1441. int r238print_current(T238* C){
  1442. int R=0;
  1443. {int z1=(((T238*)C))->_mode/*4*/;
  1444.  
  1445. if((1==z1)){
  1446. }
  1447.  else 
  1448. if((0==z1)){
  1449. }
  1450.  else 
  1451. if((2==z1)){
  1452. }
  1453.  else {R=1;
  1454. }}
  1455. return R;
  1456. }
  1457. /*No:FMT.set_indent_level*/
  1458. /*No:FMT.C_end*/
  1459. /*No:PROC_CALL_N.arguments*/
  1460. T0* r568add_comment(T568* C,T0* a1){
  1461. T0* R=NULL;
  1462. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1463. R=(T0*)C;
  1464. }
  1465. /*AF*/else {
  1466. {T46*n=malloc(sizeof(*n));
  1467. *n=M46;
  1468. r46make(n,(T0*)C,a1);
  1469. R=(T0*)n;
  1470. }
  1471. }
  1472. /*FI*/return R;
  1473. }
  1474. /*No:PROC_CALL_N.fz_bad_arguments*/
  1475. void r568make(T568* C,T0* a1,T0* a2,T0* a3){
  1476. C->_target=a1;
  1477. C->_feature_name=a2;
  1478. C->_arguments=a3;
  1479. }
  1480. /*No:PROC_CALL_N.nb_errors*/
  1481. /*No:PROC_CALL_N.feature_name*/
  1482. /*No:PROC_CALL_N.arg_count*/
  1483. /*No:PROC_CALL_N.run_feature*/
  1484. /*No:PROC_CALL_N.set_run_compound*/
  1485. T0* r568start_position(T568* C){
  1486. T0* R=NULL;
  1487. R=X776start_position((((T568*)C))->_feature_name/*12*/);
  1488. return R;
  1489. }
  1490. /*No:PROC_CALL_N.target*/
  1491. /*No:PROC_CALL_N.set_run_feature*/
  1492. T0* r568to_runnable(T568* C,T0* a1){
  1493. T0* R=NULL;
  1494. T0* _a=NULL;
  1495. /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1496. r568to_runnable_0(C,a1);
  1497. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1498. _a=r431to_runnable(((T431*)((((T568*)C))->_arguments/*20*/)),r568current_type(C));
  1499. /*IF*/if ((_a)==((void*)(NULL))) {
  1500. r568error(r431start_position(((T431*)((((T568*)C))->_arguments/*20*/))),((T0*)ms56_470));
  1501. }
  1502. else {
  1503. C->_arguments=_a;
  1504. }
  1505. /*FI*/}
  1506. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1507. r431match_with(((T431*)((((T568*)C))->_arguments/*20*/)),(((T568*)C))->_run_feature/*16*/);
  1508. }
  1509. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1510. R=(T0*)C;
  1511. }
  1512. /*FI*/}
  1513. else {
  1514. {T568*n=malloc(sizeof(*n));
  1515. *n=M568;
  1516. r568make(n,(((T568*)C))->_target/*8*/,(((T568*)C))->_feature_name/*12*/,(((T568*)C))->_arguments/*20*/);
  1517. R=(T0*)n;
  1518. }
  1519. R=r568to_runnable(((T568*)R),a1);
  1520. }
  1521. /*FI*/return R;
  1522. }
  1523. void r568pretty_print(T568* C){
  1524. X662print_as_target((((T568*)C))->_target/*8*/);
  1525. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T568*)C))->_feature_name/*12*/));
  1526. r238level_incr(((T238*)(oBC364fmt)));
  1527. r431pretty_print(((T431*)((((T568*)C))->_arguments/*20*/)));
  1528. r238level_decr(((T238*)(oBC364fmt)));
  1529. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  1530. r238put_character(((T238*)(oBC364fmt)),'\73');
  1531. }
  1532. /*FI*/}
  1533. T0* r568current_type(T568* C){
  1534. T0* R=NULL;
  1535. /*IF*/if (((((T568*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  1536. R=(((T592*)((T592*)((((T568*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  1537. }
  1538. /*FI*/return R;
  1539. }
  1540. /*No:PROC_CALL_N.run_compound*/
  1541. void r568to_runnable_0(T568* C,T0* a1){
  1542. C->_run_compound=a1;
  1543. r568cpc_to_runnable(C,r568current_type(C));
  1544. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T568*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  1545. r683add_position(X496start_position((((T568*)C))->_run_feature/*16*/));
  1546. r568error(X776start_position((((T568*)C))->_feature_name/*12*/),((T0*)ms1_173));
  1547. }
  1548. /*FI*/}
  1549. void r568cpc_to_runnable(T568* C,T0* a1){
  1550. T0* _rc=NULL;
  1551. T0* _t=NULL;
  1552. _t=X662to_runnable((((T568*)C))->_target/*8*/,a1);
  1553. /*IF*/if ((_t)==((void*)(NULL))) {
  1554. r683add_position(X662start_position((((T568*)C))->_target/*8*/));
  1555. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1556. r683fatal_error(((T683*)(oBC364eh)),b1);
  1557. }/*]*/
  1558. }
  1559. /*FI*/C->_target=_t;
  1560. _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/));
  1561. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1562. r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/);
  1563. }
  1564. void r568error(T0* a1,T0* a2){
  1565. r683add_position(a1);
  1566. r683error(((T683*)(oBC364eh)),a2);
  1567. }
  1568. /*No:PROC_CALL_N.fatal_error*/
  1569. /*No:PROC_CALL_N.end_mark_comment*/
  1570. T0* r568make_runnable(T568* C,T0* a1,T0* a2,T0* a3,T0* a4){
  1571. T0* R=NULL;
  1572. /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1573. R=(T0*)C;
  1574. r568make(((T568*)R),a2,(((T568*)C))->_feature_name/*12*/,a3);
  1575. C->_run_compound=a1;
  1576. C->_run_feature=a4;
  1577. }
  1578. else {
  1579. {T568*n=malloc(sizeof(*n));
  1580. *n=M568;
  1581. r568make(n,a2,(((T568*)C))->_feature_name/*12*/,a3);
  1582. R=(T0*)n;
  1583. }
  1584. /*[IRF3.3set_run_compound*/((((T568*)(((T568*)R))))->_run_compound)=(a1);
  1585. /*]*/
  1586. /*[IRF3.3set_run_feature*/((((T568*)(((T568*)R))))->_run_feature)=(a4);
  1587. /*]*/
  1588. }
  1589. /*FI*/return R;
  1590. }
  1591. void r362check_creation_clause(T362* C,T0* a1){
  1592. /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
  1593. /*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
  1594. r7append(((T7*)(oBC683explanation)),b1);
  1595. }/*]*/
  1596. r683add_type(a1,((T0*)ms2_334));
  1597. r362error((((T362*)C))->_start_position/*8*/,((T0*)ms3_334));
  1598. }
  1599. /*FI*/}
  1600. T0* r362add_comment(T362* C,T0* a1){
  1601. T0* R=NULL;
  1602. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1603. R=(T0*)C;
  1604. }
  1605. /*AF*/else {
  1606. {T46*n=malloc(sizeof(*n));
  1607. *n=M46;
  1608. r46make(n,(T0*)C,a1);
  1609. R=(T0*)n;
  1610. }
  1611. }
  1612. /*FI*/return R;
  1613. }
  1614. void r362check_created_type(T362* C,T0* a1){
  1615. T0* _rt=NULL;
  1616. _rt=X291run_type(a1);
  1617. /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  1618. }
  1619.  else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
  1620. r683add_type(_rt,((T0*)ms2_747));
  1621. r683add_position((((T362*)C))->_start_position/*8*/);
  1622. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
  1623. r683fatal_error(((T683*)(oBC364eh)),b1);
  1624. }/*]*/
  1625. }
  1626. /*FI*//*IF*/if (X291is_formal_generic(a1)) {
  1627. r683add_position((((T362*)C))->_start_position/*8*/);
  1628. /*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
  1629. r7append(((T7*)(oBC683explanation)),b1);
  1630. }/*]*/
  1631. r683add_type(a1,((T0*)ms5_747));
  1632. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1633. }
  1634. /*FI*/r368set_at_run_time(((T368*)(X291run_class(_rt))));
  1635. }
  1636. /*No:CREATION_CALL_1.writable*/
  1637. void r362make(T362* C,T0* a1,T0* a2){
  1638. C->_start_position=a1;
  1639. C->_writable=a2;
  1640. }
  1641. /*No:CREATION_CALL_1.start_position*/
  1642. T0* r362to_runnable(T362* C,T0* a1){
  1643. T0* R=NULL;
  1644. T0* _t=NULL;
  1645. /*IF*/if (((((T362*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1646. r362check_writable(C,a1);
  1647. _t=X662result_type((((T362*)C))->_writable/*12*/);
  1648. r362check_created_type(C,_t);
  1649. r362check_creation_clause(C,_t);
  1650. R=(T0*)C;
  1651. }
  1652. else {
  1653. {T362*n=malloc(sizeof(*n));
  1654. *n=M362;
  1655. r362make(n,(((T362*)C))->_start_position/*8*/,(((T362*)C))->_writable/*12*/);
  1656. R=(T0*)n;
  1657. }
  1658. R=r362to_runnable(((T362*)R),a1);
  1659. }
  1660. /*FI*/return R;
  1661. }
  1662. void r362pretty_print(T362* C){
  1663. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_362));
  1664. X662pretty_print((((T362*)C))->_writable/*12*/);
  1665. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  1666. r238put_character(((T238*)(oBC364fmt)),'\73');
  1667. }
  1668. /*FI*/}
  1669. T0* r362current_type(T362* C){
  1670. T0* R=NULL;
  1671. /*IF*/if (((((T362*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  1672. R=(((T592*)((T592*)((((T362*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  1673. }
  1674. /*FI*/return R;
  1675. }
  1676. /*No:CREATION_CALL_1.run_compound*/
  1677. void r362check_writable(T362* C,T0* a1){
  1678. T0* _w=NULL;
  1679. C->_run_compound=a1;
  1680. _w=X662to_runnable((((T362*)C))->_writable/*12*/,r362current_type(C));
  1681. /*IF*/if ((_w)==((void*)(NULL))) {
  1682. r683add_position(X662start_position((((T362*)C))->_writable/*12*/));
  1683. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
  1684. r683fatal_error(((T683*)(oBC364eh)),b1);
  1685. }/*]*/
  1686. }
  1687. else {
  1688. C->_writable=_w;
  1689. }
  1690. /*FI*/}
  1691. void r362error(T0* a1,T0* a2){
  1692. r683add_position(a1);
  1693. r683error(((T683*)(oBC364eh)),a2);
  1694. }
  1695. /*No:CREATION_CALL_1.fatal_error*/
  1696. /*No:CREATION_CALL_1.end_mark_comment*/
  1697.  
  1698.